home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Whiteline: delta
/
whiteline CD Series - delta.iso
/
dl_serie
/
updates
/
105
/
ocr_14b
/
ocr.doc
< prev
next >
Wrap
Text File
|
1995-11-25
|
65KB
|
1,338 lines
OCR V1.4 (Mai 1995)
ein Texterkennungs-Programm für ATARI ST/STE/TT/Falcon
von Alexander Clauss, Stresemannstr. 44, D-64297 Darmstadt
Dieses Programm ist FREEWARE. Es darf kostenlos kopiert und benutzt
werden. Eine Verbreitung über Mailboxen, FTP-Server und PD-Serien ist
erlaubt. Eine Verbreitung auf CD-ROMs und auf Cover-Disketten von
Zeitschriften ist NUR mit meiner schriftlichen Genehmigung erlaubt. Das
Programm muβ immer komplett weitergegeben werden (siehe LIESMICH Datei).
Das Verändern des Programms und der Anleitung ist nicht gestattet.
Wenn Ihnen das Programm gefällt und Sie es regelmäβig benutzen, sollten
Sie sich überlegen, ob Sie nicht dem Autor eine (freiwillige) Spende
(Vorschlag: 30-50 DM oder einen entsprechenden Betrag in anderer Währung)
zukommen lassen oder mir zumindest eine Postkarte oder eine Nachricht per
email schicken, damit ich weiβ, ob überhaupt Interesse an diesem Programm
besteht.
Neue Versionen gibt es direkt vom Autor (bitte Diskette und ausreichend
frankierten Rückumschlag schicken), über FTP-Server oder Mailboxen.
z.B.: ftp.uni-kl.de (/pub/atari/misc) oder
ftp.isbiel.ch (atari/diverses) oder
in vielen Mailboxen des Mausnetzes (z.B. HB2) oder
im FidoNet (z.B. per Magic OCR requestbar von 2:2471/6003).
Wer eine Email-Adresse hat und sie mir mitteilt, bekommt eine Nachricht,
wenn es eine neue Version von OCR gibt. Wer keine email-Adresse hat, kann
mir auch einen frankierten Rückumschlag (bzw. eine an sich selbst
adressierte Postkarte) schicken. Diejenigen werden dann per Post
benachrichtigt.
Für Benutzer in England gibt es noch eine andere Möglichkeit, um neue
Programmversionen (Updates) zu erhalten. Nähere Informationen stehen in
der englischen Anleitung (OCR_E.DOC).
WICHTIG:
Ich bin natürlich auch an Fehlermeldungen und/oder Verbesserungs-
vorschlägen interessiert. Bei Fehlermeldungen bitte immer Rechnertyp,
TOS-Version, Autoordner-Programme und Accessories angeben. Wenn möglich,
bitte genau beschreiben, wie man den Fehler reproduzieren kann.
Konstruktive Kritik und Vorschläge für zukünftige Versionen sind
ausdrücklich erwünscht!!!
WICHTIG:
Ich bitte, bei Anfragen per Post immer auch einen frankierten und
adressierten Rückumschlag beizulegen wenn Sie eine Antwort von mir
erwarten.
Meine Adresse
-------------
Alexander Clauss
Stresemannstraβe 44
D-64297 Darmstadt
email: aclauss@rbg.informatik.th-darmstadt.de
(Wer mich über die email-Adresse nicht (oder nicht mehr) erreichen kann,
sollte es über die Post-Anschrift versuchen!)
Bankverbindung
--------------
Sparkasse Darmstadt
BLZ: 508 501 50
Kontonr: 0115032143
Geben Sie bitte auf der Überweisung Ihre Adresse und als Verwendungs-
zweck 'OCR'+Versionsnummer an.
System-Voraussetzungen
======================
Dieses Programm läuft auf allen ATARI ST/STE/TT/Falcon Computern. Es
funktioniert in jeder Grafikauflösung mit mindestens 496x200 Punkten und
beliebiger Farbtiefe. 500 KBytes Speicher reichen aus, allerdings können
dann keine gröβeren Bilder eingeladen werden. Zum vernünftigen Arbeiten
sollten daher mind. 2 MByte - besser noch mehr - Speicher vorhanden sein.
Einen (Handy-)Scanner benötigt man natürlich auch.
Kurze Übersicht
===============
Das Programm kann Texte in eingescannten Bildern erkennen und als
ASCII-Texte speichern, die dann mit einem Editor bzw. mit einer
Textverarbeitung weiterverarbeitet werden können.
Für schwer erkennbare Zeichen können Korrekturregeln definiert werden.
Für verschiedene Schrifttypen können eigene Zeichensatz-Datenbänke
angelegt werden.
Für Bilder aus Zeichenprogrammen (die Texte wurden mit dem System- bzw
einem GDOS-Zeichensatz geschrieben) besitzt das Programm einen separaten
Modus in dem besonders wenig Rechenzeit verbraucht wird.
Erklärung der Programmfunktionen
================================
Die Menüfunktionen können fast alle auch mit der Tastatur ausgelöst
werden. Die entsprechenden Tastaturkommados werden im Folgenden in
Klammern angegeben.
Programmstart
=============
Werden beim Programmstart Dateinamen in der Kommandozeile übergeben, so
werden diese Dateien automatisch geladen. Dies gilt für Dateien mit der
Extension .IMG (Bilder), .LIB (Zeichensatz-Datenbänke) und .KOR
(Korrekturregeln)). Es können mehrere Dateien in der Kommandozeile
angegeben werden, allerdings wird von jedem Dateityp (Bild, Datenbank
etc.) immer nur die letzte angegebene geladen.
Dialoge
=======
Alle Dialoge des Programms können in Fenster verlegt werden, damit sie in
einer Multitasking-Umgebung die Ausgabe anderer Programme nicht blockieren.
Die Dialoge können auch mit der Tastatur bedient werden. Der OK-Button kann
mit RETURN oder ENTER und der 'Abbruch'-Button mit UNDO ausgewählt werden.
In allen Buttons, die mit der Tastatur ausgewählt werden können, ist ein
Buchstabe des Textes unterstrichen. Diese Buttons werden ausgewählt, wenn
man diesen unterstrichenen Buchstaben zusammen mit der ALTERNATE-Taste
drückt.
Hat ein Dialog EDIT-Felder (Felder zur Texteingabe) kann man durch Druck
auf die INSERT-Taste eine Box aufrufen, in der man mit der Maus alle
Zeichen des ATARI Zeichensatzes auswählen kann (auch die, die nicht auf der
Tastatur vorhanden sind).
Popup-Menüs kann man auβer mit der Maus auch mit der Tastatur bedienen.
Mit Cursor-Hoch/Runter und RETURN kann man einen Eintrag auswählen, mit
UNDO bzw. ESC wird das Popup ohne Auswahl geschlossen.
Dialoge kann man verschieben, indem man auf den Hintergrund klickt und mit
gedrückt gehaltener Maustaste die neue Position festlegt. Hält man
zusätzlich noch eine SHIFT-Taste gedrückt, wird der Dialog unsichtbar (nur
der Rahmen ist sichtbar), um 'hinter' den Dialog zu sehen zu können.
Fenster-Dialoge können, wie bei Fenstern üblich, mit dem Titelbalken
verschoben werden.
Fenster
=======
Folgende Tastatureingaben beziehen sich auf die Fenster:
CTRL-U Oberstes Fenster schlieβen.
CTRL-* Das oberste Fenster wird auf die volle Gröβe gebracht, wenn es
schon diese Gröβe hat, wird es auf die ursprüngliche Gröβe
gebracht.
CTRL-W Wechselt das aktive Fenster. (Das untere Programmfenster wird
zum obersten und umgekehrt)
Cursortasten Verschiebt den Fensterinhalt in die entsprechende Richtung
zeilenweise.
SHIFT-Cursor Verschiebt den Fensterinhalt seitenweise.
Positioniert man die Maus über das oberste Fenster, kann man mit gedrückt
gehaltener rechter(!) Maustaste den Fensterinhalt verschieben (drückt man
zusätzlich eine SHIFT-Taste, wird schneller gescrollt).
Bild-Fenster
------------
Hier wird das eingeladene bzw. eingescannte Bild angezeigt. Da diese
Bilder oft sehr groβ sind, kann man das Bild verkleinert anzeigen lassen
(siehe Bildgröβe).
Im Bildfenster befindet sich eine Icon-Leiste. Über diese Icons kann man
sehr schnell Manipulationen am Bild vornehmen. Die Icons haben folgende
Bedeutungen:
1. Block-Modus
2. Stift
3. Radiergummi
4. Bild/Block filtern
5. Bild/Block verdicken
6. Bild drehen (+90Grad)
7. Bild drehen (-90Grad)
8. Bild spiegeln (horizontal)
9. Bild spiegeln (vertikal)
10. Bildgröβe 100%
11. Bildgröβe 50%
12. Bildgröβe 25%
13. Bildgröβe 12.5%
14. Bildgröβe 6.25%
Die Icon-Leiste kann auch abgeschaltet werden (Optionen/Allgemein). Das
kann eventuell sinnvoll sein, wenn man nur mit einer kleinen Bildschirm-
auflösung arbeiten muss und zusätzlichen Platz im Fenster haben möchte. Die
Funktionen, die über die Icons aufgerufen werden, sind alle auch über die
Menüleiste zu erreichen.
Text-Fenster
------------
Hier wird der erkannte Text ausgegeben.
Auch in diesem Fenster kann man einen Block markieren. Mit gedrückter
Maustaste überfährt man mit der Maus, den gewünschten Bereich. Alle
markierten Text-Zeilen werden invertiert ausgegeben. Hält man eine der
SHIFT-Tasten gedrückt, bevor man, wie oben erklärt, den Block definiert,
wird ein eventuell schon markierter Block bis zur Mausposition vergröβert
bzw. verkleinert.
Text-Blöcke kann man löschen und/oder ins Klemmbrett kopieren, auf diese
Weise ist eine einfache Übernahme des Textes zu anderen Programmen (die
das Klemmbrett unterstützen) möglich.
Im Textfenster kann man auβerdem Text eingeben oder vorhandenen Text be-
arbeiten. Die Fehler, die während der Texterkennung entstanden sind, können
somit noch in OCR verbessert werden. Die Eingaben auβerhalb des
eigentlichen Erkennungsvorgangs verändern aber nicht die Zeichnsatzdaten-
bank, sondern nur den Text.
Folgende Kommandos stehen zur Textbearbeitung zur Verfügung:
Cursortasten Bewegen des Cursors
CTRL-Cursor links/rechts Cursor wortweise bewegen
SHIFT-Cursor links/rechts Cursor an den Anfang bzw. das Ende der Zeile
SHIFT-Cursor hoch/runter Eine Seite hoch bzw. runter scrollen
DELETE Löscht Zeichen unter dem Cursor
BACKSPACE Löscht Zeichen vor dem Cursor
INSERT Wechselt zwischen Einfüge- und Überschreiben-
Modus. Den aktiven Modus erkennt man am Cursor,
ein Strich wird im Einfügemodus benutzt, ein
invertiertes Rechteck im Überschreiben-Modus.
Achtung: Ein markierter Block wird durch die nächste Eingabe überschrieben.
(Ein Block entspricht also einem groβen Cursor)
OCR-Menü
========
Programminfo
------------
Informationen über das Programm.
Datei-Menü
==========
Bild laden (CTRL-O)
--------------------
Läd ein Bild im IMG-Format (nur monochrom). Falls sich schon ein Bild im
Speicher befindet, das verändert wurde, erscheint ein Warnhinweis und man
hat dann folgende Möglichkeiten:
Speichern: Bevor das neue Bild geladen wird, wird das alte Bild
gespeichert.
Laden: Das neue Bild wird geladen (die Änderungen des alten Bildes
gehen verloren).
Abbruch: Die ganze Aktion wird abgebrochen.
Bild speichern (SHIFT-CTRL-S)
-----------------------------
Speichert das im Speicher befindliche Bild im IMG-Format.
Bild scannen (CTRL-R)
---------------------
Hiermit kann man einen Text einscannen. Dazu muβ aber ein GDPS-Scanner-
treiber installiert sein. Sind mehrere GDPS-Scannertreiber installiert
kann man sich einen bestimmten Treiber auswählen. Da das Programm nur
monochrome Bilder verarbeitet, sollte man den Scanner auch entsprechend
einstellen.
Wenn man unter MultiTOS mit Speicherschutz arbeitet, muβ man eventuell die
Speicherschutzflags im Header des GDPS-Treiber-Accessories auf GLOBAL
setzen, da sowohl OCR als auch der GDPS-Treiber auf Speicherbereiche des
jeweils anderen Programms zugreifen müssen. OCR sorgt selbst dafür, daβ
Speicherbereiche, auf die der GDPS-Treiber zugreifen muβ, fuer diesen
beschreibbar sind. Die entsprechenden Flags im Header von OCR müssen also
nicht verändert werden.
ASCII speichern (ALT-S)
-----------------------
Der erkannte Text wird im ASCII-Format gespeichert. Gibt man eine schon
existierende Datei an, kann man den Text and diese Datei anhängen oder
diese Datei überschreiben (dann geht der ursprüngliche Inhalt der Datei
verloren).
ASCII löschen
-------------
Der erkannte Text wird gelöscht. Falls der Text noch nicht gespeichert
wurde, fragt das Programm sicherheitshalber noch einmal nach:
Speichern: Bevor der Text gelöscht wird, wird er gespeichert.
Löschen: Der Text wird gelöscht.
Abbruch: Die ganze Aktion wird abgebrochen.
Font laden (ALT-R)
------------------
Eine Zeichensatz-Datenbank wird geladen. Falls sich im Speicher eine
Zeichensatz-Datenbank befindet, die noch nicht gespeichert wurde, gibt das
Programm eine Warnung aus; man hat jetzt folgende Möglichkeiten:
Speichern: Die alte Zeichensatz-Datenbank wird gespeichert bevor die
neue geladen wird.
Laden: Die Zeichensatz-Datenbank wird geladen.
Abbruch: Die ganze Aktion wird abgebrochen.
Font speichern (ALT-W)
----------------------
Die Zeichensatz-Datenbank wird gespeichert.
Font löschen
------------
Die Zeichensatz-Datenbank wird gelöscht. Falls die Zeichensatz-Datenbank
noch nicht gespeichert wurde, gibt es eine Warnung und wieder die
Möglichkeit die Datenbank vorher zu Speichern, bzw. die Aktion
abzubrechen. Wenn man eine neue Datenbank anlegen möchte, muβ man die alte
vorher aus dem Speicher entfernen.
Programmende (CTRL-Q)
---------------------
Hier kann man das Programm verlassen. Wenn irgendwelche Daten noch nicht
gespeichert wurden, hat man jetzt noch die Möglichkeit dazu, denn es
erscheint wieder ein entsprechener Warnhinweis.
Bearbeiten-Menü
===============
Das Klemmbrett ist ein Verzeichnis auf der Festplatte/Diskette (meistens
C:\CLIPBRD). Programme, die das Klemmbrett unterstützen, können auf
einfache Weise Daten austauschen. Der Benutzer benutzt die Funktionen
'kopieren' oder 'ausschneiden' um (markierte) Daten in das Klemmbrett zu
übertragen. Möchte man die Daten im Klemmbrett wieder verwenden (dabei ist
es egal, ob dies aus dem gleichen Programm heraus geschieht, oder von
einem anderen Programm) benutzt man die Funktion 'einfügen'.
Wie sieht das z.B. in der Praxis aus: Aus einem Programm 'SCANN.PRG'
(Programmname erfunden) wird ein Artikel einer Zeitschrift eingescannt.
Mit dem Menüpunkt 'kopieren' wird diese Grafik in das Klemmbrett kopiert.
Jetzt wechselt man zum Programm 'OCR.PRG'; hier benutzt man die Funktion
'einfügen' um die Grafik aus dem Klemmbrett zu laden. Jetzt wandelt man
mit Hilfe von 'OCR.PRG' die Grafik in einen Text um, und 'kopiert' ihn in
das Klemmbrett. Nun wechselt man zu einer Textverarbeitung und läd dort
den Text aus dem Klemmbrett mit 'einfügen'.
Vorteil des Klemmbretts: Der Benutzer muβ sich also keine Dateinamen
aussuchen um die Zwischendateien zu speichern um sie im nächsten Programm
wieder zu laden.
Alles markieren (CTRL-A)
------------------------
Das komplette Bild wird als Block markiert, wenn das Bild-Fenster zuoberst
liegt. Wenn das ASCII-Fenster oben liegt wird der komplette Text markiert.
Blockmarken löschen (SHIFT-CTRL-A)
----------------------------------
Löscht die Blockmarken im Bild-Fenster, falls es oben liegt; bzw. im
ASCII-Fenster, falls dieses oben liegt.
Kopieren (CTRL-C)
-----------------
Kopiert den markierten Block des obersten Fensters in das Klemmbrett
Diese Funktion ist nur dann anwählbar, wenn man in 'Parameter'/'Allgemein'
die Klemmbrett-Unterstützung eingeschaltet hat.
Ausschneiden (CTRL-X)
---------------------
Der markierte Bereich des obersten Fensters wird in das Klemmbrett
kopiert. Im Fenster wird dieser Bereich danach gelöscht.
Diese Funktion kopiert den markierten Bereich nur dann in das Klemmbrett,
wenn man in 'Parameter'/'Allgemein' die Klemmbrett-Unterstützung
eingeschaltet hat. Gelöscht wird der Bereich aber auf jeden Fall.
Einfügen (CTRL-V)
-----------------
Wenn sich im Klemmbrett ein IMG-Bild befindet wird dieses geladen.
Diese Funktion ist nur dann anwählbar, wenn man in 'Parameter'/'Allgemein'
die Klemmbrett-Unterstützung eingeschaltet hat.
Block löschen (DELETE)
----------------------
Ein markierter Block kann mit der DELETE-Taste gelöscht werden. Der Block
wird dabei nicht in das Klemmbrett kopiert.
Bildgröβe (CTRL-0,1,2,3,4)
--------------------------
Hier kann man das Bild verkleinert anzeigen lassen, damit man eine bessere
Übersicht erhält. Unter MultiTOS oder auf dem Falcon ist die Bildgröβe
auch durch ein Submenü einstellbar, sonst erscheint eine Dialogbox.
Folgende Gröβen sind möglich:
100% (CTRL-0): Original Gröβe
50% (CTRL-1): Breite und Höhe des Bildes haben nur noch
die halbe Länge (1:2).
25% (CTRL-2): 1:4
12.5% (CTRL-3): 1:8
6.25% (CTRL-4): 1:16
Bild ausrichten (ALT-M,N,V,H)
-----------------------------
Vor allem bei der Benutzung von Handyscannern kann es vorkommen, daβ man
Texte um 90 Grad gedreht einscannen muss, weil der Text zu breit ist. Mit
diesen Funktionen kann das Bild wieder richtig ausgerichtet werden. Auf
dem Falcon und unter MultiTOS können diese Funktionen durch ein Submenü
ausgewählt werden, sonst in einer Dialogbox.
Drehen +90 Grad (ALT-M):
Dreht das Bild in mathematisch positiver Richtung um 90 Grad (also
gegen den Uhr- zeigersinn).
Drehen -90 Grad (ALT-N):
Dreht das Bild im Uhrzeigersinn.
Horizontal spiegeln (ALT-H):
Falls man den Handyscanner in die 'falsche' Richtung bewegt, liegt es
gespiegelt im Speicher.
Vertikal spiegeln (ALT-V):
siehe 'Horizontal spiegeln'.
Werkzeuge
---------
Block-Modus (ALT-B):
Man kann einen Block im Grfaik-Fenster markieren, indem man mit
gedrückter Maustaste eine Box aufzieht. Wenn der Block nicht ganz
korrekt definiert wurde, kann man diesen auch nachträglich ändern.
Man positioniert die Maus über eine der acht kleinen Boxen auf der
Blockmarkierung; jetzt kann man mit gedrückter Maustaste die
Blockgrenzen ändern.
Blöcke kann man löschen; dies ist wichtig um Linien, Bilder oder
andere Bereiche zu eliminieren, die nicht als Text erkannt werden
können.
Wenn ein Block markiert wurde, wird bei der Erkennung nur der
markierte Bereich betrachtet; dies ist notwendig, wenn man
mehrspaltige Texte bearbeiten will (Jede Spalte muβ einzel markiert
und erkannt werden).
Stift (ALT-P):
Mit dem Stift kann man auf dem Bild malen. Die Strichstärke kann man
in Optionen/Werkzeuge festlegen.
Radiergummi (ALT-X):
Mit dem Radiergummi kann man Bereiche auf dem Bild löschen. Die Gröβe
kann man in Optionen/Werkzeuge festlegen.
Bild filtern (CTRL-F):
Das Bild, bzw. der Bereich der als Block markiert wurde, wird
gefiltert. Es werden Punkte bis zu einer bestimmten Gröβe gelöscht.
Diese Gröβe kann in "Optionen/Werkzeuge" bestimmt werden.
Bild verdicken (CTRL-B):
Das Bild, bzw. der Bereich der als Block markiert wurde, wird
verdickt. Alle Linien und Punkte werden breiter. Sinnvoll ist diese
Funktion, wenn das Bild sehr hell eingescannt wurde, eventuell
vorhandene Lücken in den Buchstaben können wieder geschlossen werden.
Die Richtung, in der das Bild verdickt wird, kann in
"Optionen/Werkzeuge" eingestellt werden
Textfenster öffnen (CTRL-T)
---------------------------
Öffnet das Textfenster.
Text erkennen (F1)
------------------
Startet die Texterkennung. Wenn ein Block markiert wurde, wird nur dieser
Blockinhalt zur Texterkennung benutzt; ist kein Block definiert, wird das
komplette Bild zur Texterkennung verwendet. Bilder und Linien müβen
eventuell vorher gelöscht werden, damit das Programm Textzeilen bzw.
einzelne Buchstaben erkennen kann.
WICHTIG:
Bitte achten Sie darauf, daβ die richtige Zeichensatz-Datenbank geladen
wurde. Wenn noch keine passende Datenbank vorhanden ist, sollte man mit
'Font löschen' die eventuell im Speicher befindliche löschen (In
'Parameter'/'Font' sollte man jetzt unbedingt die relevanten Scanner-
einstellungen ins Kommentarfeld eintragen. Auch an die Leerzeichenbreite
sollte man denken).
Das Programm sucht zunächst nach der ersten Zeile. Als Zeile wird erkannt,
was durch mindestens eine leere (weiβe) Linie oben und unten umgrenzt wird
und mindestens 5 Pixel hoch ist (Ich nehme an, daβ niemand auf die Idee
kommt, solch kleine Buchstaben (<5 Pixel Höhe) erkennen zu wollen). Auf
diese Weise kann das Programm unter Umständen Unterstreichungen
automatisch ignorieren (wenn sich Unterlängen einiger Buchstaben aber auf
gleicher Höhe wie die Unterstreichung befinden, funktioniert dies nicht
mehr; in diesem Fall muβ man die Unterstreichung löschen (Block löschen)).
Nach dem das Programm eine Zeile gefunden hat, werden die Buchstaben
dieser Zeile separiert und mit den Buchstaben der Zeichensatz-Datenbank
vergleichen. Das Zeichen aus der Datenbank, das die gröβte Ähnlichkeit mit
dem zu erkennenden Zeichen hat, wird in den Text eingefügt. Findet sich in
der Datenbank kein Zeichen, das eine ausreichende Ähnlichkeit hat, wird
bei eingeschaltetem Lernmodus (siehe Parameter) der Benutzer nach dem
Zeichen befragt, bei ausgeschaltetem Lernmodus wird ein, vom Benutzter
bestimmbares, Ersatzzeichen in den Text eingefügt. Sowohl die Art des
Vergleichs zwischen den Zeichen, als auch der Grad der Übereinstimmung,
der mindestens nötig ist um ein Zeichen als 'erkannt' zu betrachten, läβt
sich einstellen (siehe Parameter).
Bei eingeschaltetem Lernmodus, fragt das Programm in einer Dialogbox nach,
wenn es ein Zeichen nicht mit ausreichender Sicherheit erkennen kann (Die
Dialogbox kann wahlweise auch ausgeschaltet werden (siehe
'Texterkennen'-Parameter). Das Zeichen wird in der Dialogbox angezeigt und
ausserdem im Bildfenster markiert. In der Dialogbox gibt man das (die) zu
diesem Zeichen passende(n) ASCII-Zeichen ein. Man kann hier bis zu elf
ASCII-Zeichen eingeben, da es vorkommen kann, daβ Zeichen beim Scannen
zusammenwachsen (Das Programm kann sie dann nicht trennen).
Zusammengewachsene Zeichen (Ligaturen) können durchaus auch schon in der
Vorlage vorkommen, dies wird gerne bei bestimmten Zeichenfolgen gemacht.
In der Dialogbox kann man auβerdem angeben, ob das zu erkennende Zeichen
in die Zeichensatz-Datenbank aufgenommen, und ob das ASCII-Zeichen in den
Text eingefügt werden soll. Diese beiden Einstellungen sind normal-
erweise eingeschaltet. Wenn man aber weiβ, daβ das zu erkennende Zeichen
so nicht (oder nie) mehr vorkommen wird (weil es beispielsweise durch
Fehler beim Scannen, oder eine schlechte Scan-Vorlage verunstaltet ist)
kann man verhindern, daβ das Zeichen in der Zeichensatz-Datenbank
gespeichert wird. Verläβt man die Dialogbox mit 'OK' wird mit der
Texterkennung fortgefahren, 'Abbruch' bricht die Texterkennung ab. Man
kann die Texterkennung auch dann abbrechen, wenn das Programm nicht wegen
unbekannten Zeichen nachfragt (siehe nächster Punkt).
Erkennung fortsetzen (F2)
-------------------------
Wenn man während eines Erkennungsvorganges irgendwelche Parameter
korrigieren will, kann man die Erkennung abbrechen, die Parameter ändern,
und die Erkennung wieder fortsetzen. Die Erkennung muβ also nicht von
vorne gestartet werden. Das Fortsetzen klappt aber nur, solange man das
Bild nicht verändert (drehen/spiegeln/Block ausschneiden/Block
löschen/Bild laden) und die Bildblockmarkierung nicht ändert. Das Ändern
der Bildgröβe ist natürlich erlaubt.
Texterkennung abbrechen (ESC)
-----------------------------
Hiermit kann man die Texterkennung abbrechen. Da das Programm aber nur am
Ende jeder Zeile auf Tastendrücke bzw. auf eine Menüauswahl reagiert, kann
es durchaus einige Sekunden dauern bis die Texterkennung abgebrochen wird.
Optionen
========
Hilfe
-----
Hilfstexte können hier angezeigt werden, aber nur wenn ST-Guide
installiert ist. Wenn Sie den OCR-Hypertext nur in Verbindung mit OCR (als
Online-Hilfe) benutzen, müssen Sie im Dialog "Optionen/Allgemein" in den
Feldern 'Hilfe-Accessory' und 'Indexdatei' die entsprechenden Dateien
auswählen. Als Hilfe-Accessory wählen Sie 'ST-GUIDE.ACC' und als
Indexdatei 'OCR.REF' (aus dem Ordner HELP). Wenn Sie den OCR-Hypertext
auch auβerhalb von OCR benutzen wollen, müssen sie OCR.HYP und OCR.REF in
den allgemeinen ST-Guide-Hypertexte-Baum einfügen (wie das geht, ist in
der Anleitung zu ST-Guide beschrieben). In diesem Fall muβ im Feld
'Indexdatei' nichts angegeben werden.
Hat man OCR so konfiguriert, daβ Dialoge in Fenstern dargestellt werden,
so werden bei offenen Dialogen, nach einem Druck auf die HELP-Taste,
Hilfstexte angezeigt, die den gerade offenen Dialog erklären.
In einer Multitasking-Umgebung muβ das Hilfe-System nicht unbedingt als ACC
installiert sein. OCR kann das Programm bei Bedarf nachstarten. ST-Guide
kann hier auch in ST-GUIDE.APP umbenannt werden: Es wird dann nicht als ACC
sondern als Programm nachgestartet und kann deshalb auch wieder beendet
werden.
(Auf Anfrage kann auch ein Hypertext im 1st-Guide-Format angefordert
werden.)
Texterkennung (ALT-O)
---------------------
Diese Einstellungen beeinflussen die Texterkennung.
Lernmodus:
Wird ein Zeichen nicht mit genügend hoher Übereinstimmung erkannt,
wird der Benutzer bei eingeschaltetem Lernmodus befragt, bei
ausgeschaltetem Lernmodus wird ein Ersatzzeichen in den Text eingefügt
Übereinstimmung:
Hier gibt man an, wie groβ die Übereinstimmung beim Vergleich sein
muβ, um ein Zeichen als 'erkannt' zu betrachten.
Akustisches Signal:
Wenn die Zeichensatz-Datenbank ziemlich vollständig ist, wird das
Programm sehr selten (wenn überhaupt) nach einem Zeichen fragen. Man
kann das Programm daher alleine rechnen lassen; wenn dieser Knopf
angewählt ist, macht das Programm mit einem PING aufmerksam, wenn die
Erkennung beendet ist oder das Programm nach einem Zeichen fragt.
(Dieser Ton kann auch mit dem Kontrollfeld abgeschaltet werden! D.h.:
Wenn man ihn im Kontrollfeld abgeschaltet hat, wird man niemals einen
Ton hören!)
Nachfrage immer mit Dialogbox:
Ist dieser Button angewählt, fragt das Programm immer mit einer
Dialogbox nach unbekannten Zeichen. In dieser Dialogbox muβ man das
Zeichen identifizieren (falls mehrere Zeichen zusammenhängen
(Ligaturen), kann man auch entsprechen viele ASCII-Zeichen eingeben).
In der Dialogbox kann man ausserdem angeben, ob das Zeichen auch in
die Datenbank bzw. in den Text übernommen werden soll. Das
Identifizieren der Zeichen kann beschleunigt werden, wenn man die
Dialogbox nicht benutzt. Das Programm markiert dann nur das
entsprechende Zeichen in den Fenstern. Man kann das gesuchte
ASCII-Zeichen einfach über die Tastatur eingeben. Auf diese Weise
können aber keine Ligaturen identifiziert werden. Um auch Ligaturen
bearbeiten zu können, kann man jederzeit durch Druck auf die
Leertaste die oben beschriebene Dialogbox aufrufen.
Aufnahme in Datenbank,in Text einfügen:
Diese beiden Buttons entsprechen den Buttons im dem Dialog, mit dem
das Programm nach unbekannten Zeichen fragt. Hier kann man angeben
wie die Buttons in Nachfrage-Dialog voreingestellt werden sollen.
Hier kann man sich eine geeignete Voreinstellungen wählen, sodaβ man
während des Erkennungsvorganges möglichst wenige Einstellungen ändern
muβ.
Wenn die Zeichensatz-Datenbank schon (fast) komplett ist, fragt das
Programm meist nach Buchstaben die durch Scanfehler verunstaltet
wurden (diese Buchstaben sollen dann nicht in die Datenbank
aufgenommen werden), daher ist es günstig die 'Aufnahme in Datenbank'
auszuschalten. Wurde eine Datenbank neu angelegt, ist es günstiger
'Aufnahme in Datenbank' einzuschalten.
Vergleich der Zeichen:
Das Programm vergleicht die Zeichen des Bildes mit den Zeichen der
Zeichensatz-Datenbank. Zum Vergleich wird das zu erkennende Zeichen
wie eine Schablone über die Zeichen der Datenbank gelegt.
genau:
Diese Einstellung verbraucht die meiste Rechenzeit, da beim
Vergleich der Zeichen die Unterschiede unterschiedlich gewichtet
werden. Dadurch wird aber die höchste Genauigkeit und die
höchste Trefferquote erreicht.
mittel:
Bei dieser Einstellung wird die Gewichtung der Unterschiede
nicht durchgeführt. Dadurch spart man Rechenzeit. Bei kleineren
Scannerauflösungen kann es dann passieren, daβ das Programm
bestimmte Zeichen verwechselt. Bei höheren Auflösungen (ab 300
DPI) dürfte es aber wenig Probleme geben, so daβ diese
Einstellung durchaus eine Alternative zur 'genau'-Einstellung
darstellt.
schnell:
Wie in 'mittel', aber ein wenig schneller und etwas
fehleranfälliger.
Qualität des Bildes:
Stammt das Bild aus einem Scanner, sollte man hier unbedingt
'Scanner' auswählen. Kleine Unterschiede zwischen den Zeichen, die
durch das Scannen entstehen, werden in dieser Einstellung
herausgefiltert (Filter). Hat man aber ein Bild aus einem Zeichen-
programm, werden die darin vorkommenden Texte (Systemzeichensatz oder
GDOS-Zeichensätze) sehr wahrscheinlich ohne jegliche Störung sein (im
Gegensatz zu eingescannten Texten, die normalerweise immer Störungen
[z.B.unsaubere Ränder] enthalten). In diesem Fall sollte man
'präzise' einstellen. Dann werden ALLE Unterschiede zwischen den
Zeichen beachtet. Wenn diese Zeichensätze sehr klein sind, müssen
tatsächlich ALLE Unterschiede beachtet werden (die oben genannten
Filter lassen sonst eventuell nicht mehr viel von den Zeichen übrig).
Diese Einstellung spart übrigens einige Rechenzeit.
Schräglage des Bildes:
Hier kann man einstellen, ob das Programm auch schräg eingescannte
Vorlagen akzeptiert. Bei normalem Text kann man diese Einstellung
immer so wählen, daβ auch eine stärkere Schäglage akzeptiert wird. Es
kann aber in seltenen Fällen notwendig sein, eine schwache Schräglage
einzustellen: Bei Texten die kurze Absätze oder einzelne
(freistehende) kurze Zeilen enthalten, die sehr(!!!) weit eingerückt
sind, kann es passieren, daβ das Programm diese Zeilen sonst
'übersieht'. (Beispiel: Briefe mit oben rechts stehendem Absender
(weit eingerückt bezüglich dem restlichen Text))
Zeilentrennung:
Normalerweise (Einstellung: präzise) versucht das Programm die Text-
zeilen des gescannten Bildes zu trennen, indem nach komplett weiβen
Linien gesucht werden. Probleme gibt es dann, wenn der Zeilenabstand
sehr eng ist, und sich Ober.- und Unterlängen verschiedener Zeilen
überschneiden. Das Programm kann keine weiβe Zeile mehr finden und
wirft mehrere Zeilen zusammen. Stellt man die 'Zeilentrennung' auf
'mittel' oder 'tolerant' können eventuell, trotz Überschneidungen, die
Zeilen noch getrennt werden. 'mittel' läβt nur wenige Überschneidungen
zu, eignet sich aber auch, wenn senkrechte schwarze Striche im Bild
vorhanden sind. Die Zeilentrennung wird dann nicht unbedingt auβer
Gefecht gesetzt. 'tolerant' läβt gröβere Überschneidungen zu. Man
sollte die Einstellung 'tolerant' nur bei Bedarf benutzen, da durch
die ungenauere Zeilentrennung auch Fehlinterpretationen möglich sind.
Das gilt, allerdings wesentlich seltener, auch für die 'mittel'
Einstellung. Zu enge Zeilenabstände können aber auch weiterhin
problematisch sein wenn es zu viele Überschneidungen gibt.
Font (ALT-F)
------------
Hier erhält (bzw. bestimmt) man Informationen über die gerade im
Speicher befindliche Zeichensatz-Datenbank.
Mindestgröβe der Zeichen:
Breite, Hoehe:
Hiermit wird die Mindestgröβe der Zeichen bestimmt. Alle
Bereiche des Bildes, die eine geringere Gröβe als diese
Mindestgröβe besitzen, werden nicht beachtet. Kleinere Flecken,
die durch unsauberes Scannen entstehen, werden auf diese Weise
ignoriert.
Abmessen:
Die Mindestgröβe kann mit Hilfe eines 'Gummibandes' abgemessen
werden (siehe 'Abmessen' bei Leerzeichen).
Beim Verlassen des Dialogs prüft das Programm, ob die hier
angegebenen Werte mit allen Zeichen aus der Datenbank vereinbar sind.
Existiert schon ein kleineres Zeichen in der Datenbank, werden die
oben be- schriebenen Werte korrigiert, so daβ dieses Zeichen
weiterhin beachtet wird. Der Benutzer wird darüber in einer ALERT-Box
informiert.
Mindestbreite der Leerzeichen:
Breite:
Legt die Mindestbreite der Leerzeichen fest
variable Breite:
Falls in der Vorlage alle (Leer-)Zeichen gleich breit sind, muβ
dieser Knopf ausgeschaltet werden. Sonst sollte er eingeschaltet
werden.
Abmessen:
Die Maus besitzt jetzt die Form eines Fadenkreuzes. Jetzt kann
man bei gedrückter Maustaste eine Box aufziehen. Die Breite der
Box beim Loslassen der Maustaste, entspricht der gewünschten
Leerzeichenbreite. Wird das Bild in einer Verkleinerung
angezeigt, wird die abgemessene Breite entsprechend angepasst
(d.h. die Gröβe der Box bezieht sich auf die eingestellte
Verkleinerung des Bildes). WICHTIG: Es wird die Mindestbreite
der Leerzeichen bestimmt.
Kommentar:
Hier kann man beliebigen Text eingeben, der auch beim Speichern der
Datenbank mitgepeichert wird. Hier sollte man notieren, um welchen
Zeichensatz es sich handelt (z.B. Herkunft: aus Zeitschrift XYZ) und
mit welcher Scannereinstellung (DPI, Kontrast, Helligkeit etc.) die
Zeichen entstanden sind. Somit kann man vor dem Scannen von Text, den
Scanner richtig einstellen (Weichen die Scannereinstellungen zu stark
ab, wird das Programm unter Umständen nur noch wenige Zeichen
erkennen).
Font bearbeiten (ALT-E)
-----------------------
Hier kann man einige Änderungen an der Zeichensatz-Datenbank vornehmen.
Zeichensatz-Überblick:
Hier kann man durch die Zeichen blättern. Ein Klick auf ein Zeichen,
wählt dieses aus (siehe nächsten Punkt).
Ausgewähltes Zeichen:
Hier sind Änderungen an dem ausgewählten Zeichen möglich. 'Löschen'
löscht dieses Zeichen aus der Datenbank, in 'ASCII' kann man die zu
dem Zeichen gehörenden ASCII- Code (bis zu 11 ASCII-Zeichen)
ändern/bestimmen.
Zeichen suchen:
Man kann ASCII-Zeichen suchen. 'Suchen' sucht ab Anfang, 'Suchen
fortsetzen' sucht ab der aktuellen Position in der Datenbank. Ist das
Suchen erfolgreich, wird das gefundene Zeichen nach 'Ausgewähltes
Zeichen' über tragen.
Sortieren:
Die Zeichen der Datenbank werden sortiert.
Statistik:
Man erhält eine Übersicht, welche Zeichen sich wie oft in der
Datenbank befinden. Es werden aber nur die wichtigsten Zeichen
angezeigt (Platzgründe).
Korrektur (ALT-C)
-----------------
Die Texterkennung ist natürlich nicht perfekt. Es gibt Zeichen, die das
Programm schwer (bzw. nicht) unterscheiden/erkennen kann. Bei einigen
Zeichensätzen sind beispielsweise '1' und 'l' noch nicht mal mit dem Auge
gut zu unterscheiden, wenn dann der Scanner noch einige Ungenauigkeiten
'einbaut' kann das Zeichen nicht mehr genau zugeordnet werden. Hier hilft
nur noch eine Korrektur, die die Umgebung des Zeichens betrachtet, und
prüft ob in dieser Umgebung das eine oder andere Zeichen wahrscheinlicher
ist (z.B. innerhalb von Ziffern wird sich kein 'l' sondern eine '1'
befinden).
Bestimmte Zeichen werden als mehrere einzelne Zeichen erkannt (z.B. <">
wird als zwei mal <'> erkannt).
In dieser Dialogbox können Korrekturregeln für diese Probleme festgelegt
werden.
Ersetzungen:
Hier wird eingetragen, welche Zeichenkombinationen durch eine andere
ersetzt werden soll. (Man kann z.B. zwei (Hoch-)Kommata in
Anführungsstriche umwandeln)
Korrekturen:
Wenn im zu erkennenden Text die Zeichen 1/l, l/I oder 0/O sehr
ähnlich sind, kann man automatische Korrekturen einschalten.
ACHTUNG: Diese Korrekturen können im Einzelfall natürlich auch
falsche Ergebnisse liefern!
Text formatieren:
Original Format:
Eine Zeile Text im Bild, wird zu einer Zeile ASCII-Text.
Leerzeichen am Zeilenanfang können ignoriert werden.
neu formatieren:
Der Text im Bild wird vollkommen neu formatiert. Dabei wird die
gewünschte Zeilenbreite beachtet. Dies ist nützlich, wenn man
Vorlagen hat, die aus engen Spalten bestehen. In diesem Fall
besitzt der Text meistens viele getrennte Wörter. Bei
eingeschalteter Trennungskorrektur werden die Trennungsstriche
automatisch entfernt. Es gibt aber auch hier einige
Ausnahmeregeln. Die deutsche Regel "'ck' wird mit 'k-k'
getrennt" kann ausgeschaltet werden (für nicht-deutschsprachige
Texte). Diese Option ist natürlich nur für Flieβtext gedacht,
für Programm-Listings, Tabellen etc. ist diese Einstellung nicht
geeignet. (Das Programm selbst setzt keine neuen Trennstriche!)
Leerzeilen zwischen Erkennungs-Vorgängen:
Zwischen den Texten, die aus verschiedenen Erkennungs-Vorgängen
stammen, wird die angegebene Anzahl von Leerzeilen eingefügt.
Unbekanntes Zeichen:
Hier gibt man an, mit welchem Zeichen das Programm (bei
ausgeschaltetem Lernmodus) unbekannte Buchstaben kennzeichnen soll.
Werkzeuge
---------
Stift:
Bestimmung der Gröβe des Stifts. Der angegebene Wert ist die Kanten-
länge in Pixel.
Radiergummi:
Bestimmung der Gröβe des Radiergummis. Der angegebene Wert ist die
Kantenlänge in Pixel.
Filter:
Alle Pixelansammlungen, die maximal die angegebene Gröβe (Durchmesser)
besitzen, werden aus dem Bild (bzw. dem Block) gefiltert.
Verdicken:
Die Funktion 'Verdicken' kann wahlweise horizontal, vertikal und in
beide Richtungen arbeiten. Horizontal ist wahrscheinlich die
wichtigste Richtung beim Verdicken. Problematisch bei der
Texterkennung sind vor allem Lücken in einzelnen Buchstaben, die ihn
in einen linken und rechten Teil spalten. Durch horizontales Verdicken
können diese Lücken wieder geschlossen werden.
ASCII-Format
------------
Um die Weiterverarbeitung des erkannten Textes mit einem Textverarbeitungs-
programms zu erleichtern, kann man hier angeben, wie der Text abgespeichert
wird. Die Zeichen, die ein Zeilenende markieren sind auf dem Atari
normalerweise CR+LF. Auf Unix-Rechnern benutzt man dagegen nur LF. Daher
kann man hier festlegen, welche Art des Zeilenendes man benutzen möchte.
Einige Textverarbeitungs-Programme können einen ASCII-Text nur dann gut neu
formatieren, wenn nicht jede Zeile mit dem oben beschriebenen Zeichen
abgeschlossen wird, sondern nur das Ende eines Absatzes. Diese letzte
Einstellung ist nur wirksam, wenn OCR den Text neu formatiert. (Ein Absatz-
ende wird nur durch eine Leerzeile erkannt; eventuell muβ man also Leer-
zeilen im Textfenster einfügen, wenn diese nicht durch die Texterkennung
entstanden sind)
Allgemein (ALT-A)
-----------------
Dialoge:
Die Dialogboxen können wahlweise in der Bildschirmmitte oder an der
Mausposition auftauchen. Der Punkt 'im Fenster' bewirkt, daβ die
Dialogboxen in Fenster verlegt werden. In Multitasking-Systemen sollte
man die Dialoge in Fenster legen, da ein echter Dialog Ausgaben
anderer Programme blockiert; Fenster-Dialoge blockieren nicht. Da der
von den Dialogboxen verdeckte Bildschirmbereich gepuffert wird, ist
der Bildaufbau beim Verlassen des Dialogs sehr schnell (normalerweise
schneller als bei Fenster-Dialogen).
Pfade & Dateien:
Klickt man auf die Pfad-Boxen, kann man im Fileselector verschiedene
Zugriffspfade bestimmen. Diese Pfade werden beim Programmstart
automatisch voreingestellt, sodaβ man beim Laden/ Speichern gleich im
richtigen Verzeichnis landet.
Klickt man auf die Standard-Datei-Boxen, kann man im Fileselector
Dateien aussuchen. Diese Dateien werden beim Programmstart
automatisch geladen. Wenn man immer die gleiche Zeichensatz-Datenbank
bzw. die gleichen Korrekturregeln benutzt, kann man sie somit
automatisch laden lassen.
Verschiedenes:
Wird der 'Text-Fenster'-Button angekreuzt, wird das Text-Fenster nach
dem Programmstart automatisch geöffnet.
Mit 'Icons im Bildfenster' kann man die Iconleiste ein bzw. aus-
schalten.
Klemmbrett:
Hier kann man die Verwendung des Klemmbretts für die Funktionen
'kopieren', 'ausschneiden' und 'einfügen' getrennt für Grafik
(IMG-Fenster) und Text (Textfenster) ein.- bzw. ausschalten.
Da das Programm Grafik in Text verwandelt, ist ein 'kopieren'
und/oder 'ausschneiden' von Text in das Klemmbrett sehr nützlich. Das
'Ausschneiden' (=löschen) von Grafik in das Klemmbrett ist aber
wahrscheinlich nicht beabsichtigt, da normalerweise nur Grafik-Blöcke
gelöscht werden sollen, die die Texterkennung stören würden. Schaltet
man z.B. die Klemmbrett-Unterstützung für das 'Ausschneiden' von
Grafik aus, spart man Zeit (die Grafik muβ nicht gespeichern werden)
und es wird verhindert, daβ ein zuvor auf das Klemmbrett kopierter
Text durch eine ausgeschnittene Grafik überschrieben wird.
Hilfe-System:
Die Online-Hilfe funktioniert nur in Verbindung mit 1st-Guide
(Shareware, von Guido Vollbeding) oder ST-Guide (Fairware, von H.
Weets, C. Wempe). Man muβ in OCR angeben, welches Hilfesystem benutzt
wird, und wo die Hilfstexte zu finden sind. Im Feld 'Hilfe-Accessory'
muβ man im Fileselector das entsprechende Accessory (1STGUIDE.ACC
oder STGUIDE.ACC) festlegen und im Feld 'Indexdatei' die, zum
ausgewählten Hilfesystem gehörende, Index- oder Referenzdatei. Im
Falle von 1st-Guide wählt man die Datei OCR.IDX; im Falle von
ST-Guide OCR.REF (oder OCR_E.REF für die englischen Texte).
sichern
-------
Die Einstellungen des Programms werden gesichert. Beim nächsten
Programmstart werden die Einstellungen auf die gesicherten Werte gesetzt.
Gesichert werden:
* Alle Einstellungen der Dialogboxen 'Text erkennen', 'Bildgröβe' und
'Allgemeine Einstellungen'
* Fensterpositionen und Fenstergröβen der beiden Fenster
System-Font
-----------
Für das Textfenster kann man sich hier einen beliebigen Zeichensatz und
die Gröβe des Zeichensatzes auswählen.
Tips & Tricks
=============
Man sollte immer darauf achten, daβ man beim Scannen die gleichen
Scanner-Einstellungen benutzt, mit der auch die Zeichensatz-Datenbank
aufgebaut wurde. Werden andere Einstellungen benutzt kann es passieren,
daβ die Zeichen dicker oder dünner ausfallen; das Programm wird dann
Probleme haben, die Zeichen zu erkennen. Falls die Scan-Vorlagen
allerdings sehr unterschiedliche Qualität haben, kann es dennoch nötig
sein, andere Scanner-Einstellungen zu benutzen.
Für jeden unterschiedlichen Zeichensatztyp und für jede Gröβe sollte man
eine eigene Zeichensatz-Datenbank aufbauen. Dadurch bleiben die Datenbänke
klein. Eine durch viele Zeichensatztypen aufgeblähte Datenbank verlangsamt
den Erkennungsvorgang deutlich. Es ist in machen Fällen aber trotzdem
nicht zu vermeiden, daβ man mehrere Zeichensatztypen in einer Datenbank
halten muβ (z.B. wenn man oft Texte bearbeitet, die normale UND kursive
Schrift enthalten). Damit man später noch weiβ, welche Zeichensatz-Datei
für welche Vorlage (und Scannereinstellung) geeignet ist, sollte man die
Kommentarfelder in 'Einstellungen'/'Font' immer gewissenhaft ausfüllen.
Die Scannergebnisse sollten sauber und gleichmäβig sein. Kontrast und
Helligkeit so einstellen, daβ mehrere Zeichen nicht zusammenwachsen aber
in den Zeichen selbst keine Lücken entstehen. Zusammengewachsene Zeichen
sind meist unproblematischer als Lücken in den Zeichen selbst, daher im
Zweifelsfall den Scanner etwas dunkler stellen.
Je niedriger die Scannerauflösung, desto weniger Platz benötigen die
Zeichen in der Datenbank. Allerdings besteht bei niedrigen Scanner-
auflösungen die Gefahr, daβ mehrere Zeichen zusammenwachsen, daher wird
die Erkennung unsicherer. Man muβ etwas experimentieren um die ideale
Auflösung zu finden. Wenn der eigene Scanner nur niedrige Auflösungen
zuläβt (z.B. max. 200 dpi), muβ man etwas mehr Arbeit und Geduld
investieren um brauchbare Ergebnisse zu erzielen. Man sollte, bis die
Zeichensatzdatenbank relativ komplett ist, mit einer Übereinstimmung von
ca. 90% arbeiten. Es sollten dabei einzelne Zeichen durchaus mehrfach in
der Datenbank aufgenommen werden (besonders Problemkinder wie 'e' und 'c',
'b' und 'h' oder andere). Erst wenn alle wichtigen Buchstaben in der
Datenbank vorhanden sind, sollte man die Übereinstimmung auf niedrigere
Werte (75%-85%) einstellen, damit OCR nicht mehr so oft nachfragt.
Den Grad der Übereinstimmung beim Vergleich der Zeichen kann man bei hohen
Scannerauflösungen (ab 300 DPI) bzw. guten Scannergebnissen niedrig
einstellen (meistens genügt 75%). Sollten bei der Erkennung bestimmter
Zeichen immer wieder falsch bestimmt werden, sollte man den Grad der
Übereinstimmung etwas erhöhen. Bei hohem Grad, fragt das Programm etwas
öfter nach.
Besitzt man keine Festplatte, sollte man die Klemmbrett-Unterstützung
ausschalten (siehe 'Parameter'/'Allgemein').
Auch wenn das Programm ab Version 1.2 (leicht) schräg eingescannte
Vorlagen akzeptiert, sollte man darauf achten, die Vorlagen möglichst
gerade einzuscannen.
Technisches
===========
Das Programm versteht die erweiterten WM_ARROWED- und die WM_BOTTOMED-
Nachrichten von Winx 2.2.
OCR unterstützt das Freedom-Fileselector-Protokol.
Das Programm unterstützt weiterhin das Drag&Drop-Protokoll (ARGS) von
MultiTOS.
Das Programm beachtet auβerdem den VSCR-Cookie. D.h. auch bei einer hohen
virtuellen Grafikauflösung erscheinen Dialogboxen im gerade sichtbaren
Bildausschnitt.
OCR kommt auch mit langen Dateinamen zurecht, falls ein entsprechendes
Dateisystem installiert ist.
Auf dem Falcon (>=TOS 4.02) und unter MultiTOS werden die 3D-Effekte in
den Dialogboxen benutzt. Die Bildgröβe und Bildausrichtung kann man dann
auch über ein Submenü einstellen.
Speicherplatzverbrauch: Der meiste Speicher wird gewöhnlich von den
eingescannten Bildern verbraucht. Dieser Speicherplatz wird auβerdem
zweimal benötigt: Das Bild muβ einmal im Standardformat (die TextErkennung
bezieht ihre Daten aus diesem Speicherbereich) und einmal im
geräteabhängigem Format (dieses Format ist abhängig von der Grafikkarte
und wird zur Anzeige auf dem Bildschirm benötigt) vorliegen.
Beispiel:
Eine DIN A4 Seite Text (8x11 Zoll), mit 400 DPI eingescannt, benötigt ca.
1.7 MBytes, das Programm benötigt diesen Platz zweimal: also ca. 3.4
MBytes.
Bekannte Fehler und Unschönheiten
=================================
Das Programm kann in seltenen Fällen zwei Zeichen nicht trennen, obwohl
sie nicht zusammengewachsen sind. Grund: Es gibt einige Buchstaben, die
aus mehreren nicht zusammenhängenden Teilen bestehen (z.B. alle Buchstaben
mit Punkt [i,j,ä usw.] oder ã,ñ usw.); das Programm versucht diese
Buchstaben nicht in mehrere Teile zu trennen, mehrere sich überlappende
Buchstaben sollten aber doch getrennt werden (aber diese Unterscheidung
klappt nicht immer).
Bei groβen Scannerauflösungen werden die Zeichen der Datenbank recht groβ.
Das Programm verbraucht dann sehr viel Rechenzeit.
Die Gröβe der Zeichen ist zur Zeit noch auf max. 96x96 Pixel beschränkt,
daher sollte man die Scannerauflösung nicht zu hoch wählen. (Empfehlung:
max. 400 DPI, dann können auch Ligaturen aus 2-3 Buchstaben noch in 96x96
Pixeln untergebracht werden).
Aufgrund eines Fehlers im Betriebssystem (<=TOS 2.06) kann es bei der
Anzeige eines groβen Bildes zu Pixel-Müll kommen. Der Fehler steckt in der
Funktion 'vr_trnfm()'. Hierfür gibt es einen Patch von Laurenz Prüβner, S.
und W. Behne (veröffentlicht im ST-Magazin 9/91). Auf dem TT/Falcon oder
bei installiertem NVDI (oder einem VDI-Treiber einer Grafikkarte) tritt
dieser Fehler (hoffentlich) nicht mehr auf (der oben genannte Patch ist
dann nicht nötig).
ACHTUNG: Ab OCR V1.2a wird man diesen Fehler normalerweise nicht mehr
bemerken (auch wenn der oben genannte Patch nicht installiert ist). Ein
kleiner einfacher Trick machts möglich :-)
Zukunft
=======
Folgende Erweiterungen sind geplant:
* Nachfrage nach unbekannten Zeichen nachdem das komplette Bild (Block)
bearbeitet wurde. Bei unvollständigen Datenbänken, könnte man das
Programm alleine rechnen lassen ohne gelegentlich Fragen beantworten zu
müssen; die kommen dann ganz am Schluβ.
* Batch-Betrieb: Automatisches Abarbeiten mehrerer Vorlagen. (Voraus-
setzung hierfür ist die Implementation des ersten Punktes)
* Änderungen (auf Pixelebene) der Zeichen in der Datenbank. (Um gröβere
Scann-Fehler etwas auszugleichen)
* Mehrere Zeichensatz-Datenbänke gleichzeitig verwalten. Man könnte dann
auch bei Texten die verschiedene Schrifttypen oder -gröβen enthalten,
die Datenbänke so organisieren, daβ sie nur einen Schrifttyp (Gröβe)
enthalten.
Sonstiges
=========
Empfehlenswerte Programme für den Autoordner:
COMPOSE von Pascal Fellerich: Mehrere verschiedene Verfahren um bequem alle
Zeichen des ATARI-Zeichensatzes einzugeben (auch diejenigen, die nicht auf
der Tastatur vorhanden sind) und Mausbeschleuniger.
Winx von Martin Osieka: Mit Hilfe dieses Programms kann man bis zu vierzig
Fenster gleichzeitig öffnen; und es werden einige zusätzlichen Fenster-
funktionen installiert.
Diese Programme gibt es in Mailboxen und auf FTP-Servern oder direkt von
den Autoren.
Danksagung
==========
Vielen Dank an
Jean-Jacques Ardoino (Französische RSC-Datei, LISEZMOI)
Joe Connor (Überarbeitung der englischen RSC-Datei und
Anleitung, UK Support)
Stefan Damerau (Englische Anleitung)
Henk van der Griendt (Holländische RSC-Datei, LEESMIJ)
Antonio Lillo (Spanische RSC-Datei, LEEME)
Vielen Dank an alle, die mir Vorschläge gemacht haben, die mir Fehler
gemeldet haben, die sich zu einer Spende entschlossen haben und natürlich
an alle Betatester. Ein weiteres Dankeschön geht an Britt Johnston.
Versionsübersicht
=================
Version Datum Was hat sich geändert
---------------------------------------------------------------------------
V1.4b 29.09.1995 - Bugfix: Unter Magic 3 mit (!!) 3D-Effekten konnten
die Popup-Menüs in Dialogen nicht mit Tastatur-
Shortcuts, sondern nur mit der Maus geöffnet werden.
- Backup-Dateien
- einige kleine Bugfixes
V1.4a 01.07.1995 - Bugfix in 'ASCII speichern' (Markierte Zeilen, bzw.
die Zeile, auf der der Cursor stand, wurden nicht
gespeichert)
- Iconify in Magic 3
- Schönere 3D-Dialoge auf Falcon/MultiTOS/Magic 3
(ältere Versionen von MagiC 3 stellen die 3D-Effekte
leider noch fehlerhaft dar).
V1.4 15.05.1995 - Bei Multitasking: ST-Guide wird bei Bedarf nachge-
laden. Kompletten Pfad in 'Allgemeine Optionen'
angeben!!!
- OCR reagiert jetzt auch auf die VA_START-Message!
- OCR.PRG heiβt jetzt OCR.APP damit niemand auf die
Idee kommt, das Programm in den AUTO-Ordner zu
stecken ;-)
- Bugfix in 1/l-Korrektur.
- Texteditor
- Im Text-Fenster können nun alle GDOS-Fonts benutzt
werden (auch Vektorfonts bei NVDI 3, SpeedoGDOS).
- Verbesserte Zeilentrennung.
- Lange Dateinamen werden unterstützt.
- Einfache Werkzeuge zur Bildbearbeitung: Stift,
Radiergummi, Filter, Verdicken.
- Icon-Leiste im Bild-Fenster (abschaltbar) zur
einfacheren Bedienung des Programms.
- ASCII-Speichern erweitert: als Zeilenendezeichen
kann wahlweise CR, LF (wie in Unix) oder CR+LF
(bei Atari, MS-DOS) benutzt werden. Das Zeilenende
kann wahlweise am Ende jeder Zeile oder nur am
Ende eines Absatzes stehen (Einige Text-Programme
können auf diese Weise auch bei ASCII-Texten
Absätze erkennen [z.B. Script]).
- IMG-speichern geht jetzt wesentlich schneller.
- Ausgabe ins Text-Fenster optimiert.
- Viele weitere kleine Erweiterungen.
- Viele weitere kleine Bugfixes.
V1.3c 23.10.1994 - In Grafikauflösungen mit 8x8-Zeichensatz werden
die 3D-Effekte (ab AES 3.40) in den Dialogen nicht
mehr verwendet (benötigen zu viel Platz)
- In Alertboxen werden nun automatisch Shortcuts
zugeordnet.
- Zwei Tippfehler in holländischer RSC-Datei ver-
bessert.
- Bugfix in MTOS Drag&Drop-Protokoll
- Let'em Fly hat leider in den Fensterdialogen un-
erlaubterweise mitgemischt (In Dialogen mit Edit-
Objekten wurde TAB von Let'em Fly zum Verschieben
des Default-Objekts benutzt anstatt den Cursor
weiterzusetzen). Anhand des Extended-ob_type des
Root-Objekts der Dialoge wird Let'em Fly jetzt
angewiesen, sich aus den OCR-Dialogen ganz heraus
zuhalten.
- Bugfix: Parameter speichern hat manchmal nicht
funktioniert wenn shel_find() die Datei nicht
gefunden hat (möglicherweise trat der Fehler nur
auf, wenn ein fremdes Programm (z.B. alternativer
Fileselector) den aktuellen Pfad verstellt, und
dann auch nur unter Geneva/MTOS?).
V1.3b 20.09.1994 - Bugfix: Fehler in der Zeilentrennung behoben
(konnte zum Absturz führen (fremder Speicher wurde
unter bestimmten Umständen überschrieben)).
V1.3a 17.09.1994 - Alertboxen werden wie Dialoge in Fenster gelegt.
- Bugfix: Die Zeichen {}[]@\ konnten in den Dialogen
nicht eingegeben werden (auf deutscher Tastatur),
jetzt geht's wieder.
V1.3 30.08.1994 - Die Probleme mit IMG-Bildern von Repro-Studio
(junior) treten scheinbar nicht mehr auf (na
hoffentlich).
- Dialoge tastaturbedienbar
- Bugfix: Fehler beim Durchsuchen des Menübaums nach
Shortcuts behoben (Der Fehler ist allerdings nie
aufgetreten, da keine Shortcuts der Art
SHIFT-Funktionstaste verwendet wurden)
- Das Programm reagiert jetzt schneller auf Events
während des Erkennungsvorgangs.
- Fenster-Dialoge (UNDO-Taste entspricht Abbruch)
- Online-Hilfe wenn 1st-Guide oder ST-Guide
installiert ist.
- Kleine Korrektur in der 'I/l-Korrektur'
- GDPS-Scannertreiber Unterstützung
- Zwei Buttons wanderten vom 'Allgemein'-Parameter
Dialog in den 'Texterkennung'-Parameter Dialog, da
sie dort eigentlich auch hingehören.
- Man kann jetzt auch Zeichen ohne Nachfragedialog
identifizieren (geht schneller, da man nicht mehr
für jedes Zeichen zusätzlich RETURN drücken muβ)
- Die minimalen Zeichenausmaβe können angegeben
werden (Bessere Trennung zwischen Buchstaben
und Flecken durch unsaubere Scan-Vorlagen)
- Filteroption abschaltbar
- Es kann jetzt auch auf die Texte neben den Check-
boxen (ankreuzbare Buttons) und Radio-Buttons
geklickt werden, um dieses Buttons anzuwählen.
- Probleme mit einigen IMG-Dateien (in denen mehr
Scanlines kodiert sind, als im IMG-Header ange-
geben) behoben.
- Neues Datei-Format für .LIB und .KOR-Dateien.
Das alte Format kann natürlich weiterhin geladen
werden.
V1.25b 30.05.1994 - Bugfix: Fehler in Zeichenseparation behoben
- Bugfix: Fehler in 'neu formatieren' (Korrektur-
Dialog) behoben.
V1.25a 20.05.1994 - Bugfix in deutscher RSC-Datei: Text eines Alert-
Buttons war zu lang :-( Es sind nur max.
10 Zeichen pro Button erlaubt. Mit 'MultiDial'
und/oder 'Let'em Fly' gehen aber auch mehr,
deshalb habe ich nichts gemerkt.
- Bugfix: Fehlerbehandlung in 'ASCII speichern'
- Bugfix: Probleme mit MTOS beim Fensterscrollen
(MTOS sendet scheinbar auch MU_BUTTON-events,
wenn man mit den Scrollpfeilen scrollt...)
- Infozeile im Grafikfenster. Es wird die Bildgröβe
und die Gröβe des Blocks (falls definiert) ange-
zeigt. Während des Erkennungsvorgangs wird hier
angezeigt, wieviel schon erledigt ist. Damit ist
es jetzt möglich auch im Multitaskingbetrieb zu
kontrollieren, ob OCR noch arbeitet (da die Maus
dort nicht in eine Biene verwandelt wird).
- Während das Erkennungsvorgangs werden nicht mehr
alle Menüpunkte gesperrt. Die entsprechenden
Funktionen können also jederzeit aufgerufen werden
V1.25 05.05.1994 - 'Texterkennung fortsetzen' ist möglich
- Verbesserte Unterscheidung von <'> und <,>
- 'k-k -> ck'-Korrektur (Trennungsstriche entfernen)
kann ausgeschaltet werden (Wichtig für alle nicht-
deutschsprachigen Texte)
- Dateinamen: Fehlende Extensions werden automatisch
angehängt.
- Dateinamen (IMG,LIB,KOR), die als Parameter über-
geben werden, werden automatisch geladen.
- Fehler in Zeilentrennung behoben (konnte unter
Umständen sogar zum Absturz führen :-(
- Neuer schnellerer Vergleichsalgorithmus
für die 'mittel'/'schnell'-Einstellung im
'Texterkennungs'-Dialog
- Unterstützung von AP_TERM (MultiTOS)
- Erkennungsvorgang beschleunigt
- Bild spiegeln/drehen (erst wichtig, wenn man
aus OCR heraus Texte einscannen kann)
- Fensterinhalt mit rechter Maustaste verschiebbar
- Leerzeichenbreite abmessbar
- Block löschen mit DELETE
- MultiTOS Drag&Drop (ARGS)
- Englische Anleitung
(Vielen Dank an Stefan Damerau und Joe Connor)
V1.2a 29.03.1994 - Fehler in Zeichentrennung behoben (hatte nur
Auswirkungen auf 'dünne' GDOS-Fonts; Fehler wurde
übrigens erst in V1.2 eingebaut)
- Fehler beim VDI-Fontgröße-berechnen behoben
V1.2 08.03.1994 - Dialoge (verschiebbar) können unsichtbar
verschoben werden (SHIFT-Taste gedrückt halten)
- Erkennungsvorgang beschleunigt
- Buchstaben-Trennung verbessert
- Repräsentat für unbekanntes Zeichen kann
vom Benutzer bestimmt werden
- Fehler beim IMG-Laden behoben
- Schräg eingescannte Vorlagen können jetzt
auch bearbeitet werden.
- Viele weitere Kleinigkeiten wurden einge-
baut.
V1.1a 06.02.1994 - Überflüβige 'Redraws' entfernt
- Fehler in Textblock-löschen entfernt
- Fehler im Zeichenvergleich beseitigt
V1.1 04.02.1994 - Klemmbrett-Unterstützung
- Redraw-Fehler beim Scrollen behoben
V1.0a 01.02.1994 - Redraw-Fehler im Grafik-Fenster entfernt
- OCR versucht jetzt nicht mehr unter Mag!X 2.0
ein Submenu zu installieren
V1.0 30.01.1994 - erste veröffentlichte Version